# proto-file: third_party/tensorflow/core/framework/graph.proto
# proto-message: GraphDef
#
# Proto content generated by
#
# import tensorflow as tf
#
# datasets = [tf.data.Dataset.from_tensor_slices(["a", "a", "a", "a", "a"]),
#             tf.data.Dataset.from_tensor_slices(["b", "b", "b", "b", "b"]),
#             tf.data.Dataset.from_tensor_slices(["c", "c", "c", "c", "c"])]
# choice_dataset = tf.data.Dataset.range(3).repeat()
# dataset = tf.data.Dataset.choose_from_datasets(datasets, choice_dataset)
#
# g = tf.compat.v1.GraphDef()
# g.ParseFromString(dataset._as_serialized_graph().numpy())
# print(g)

node {
  name: "Const/_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT64
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT64
        tensor_shape {
        }
        int64_val: 0
      }
    }
  }
}
node {
  name: "Const/_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT64
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT64
        tensor_shape {
        }
        int64_val: 3
      }
    }
  }
}
node {
  name: "Const/_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT64
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT64
        tensor_shape {
        }
        int64_val: 1
      }
    }
  }
}
node {
  name: "RangeDataset/_3"
  op: "RangeDataset"
  input: "Const/_0"
  input: "Const/_1"
  input: "Const/_2"
  attr {
    key: "metadata"
    value {
      s: "\n\016RangeDataset:3"
    }
  }
  attr {
    key: "output_shapes"
    value {
      list {
        shape {
        }
      }
    }
  }
  attr {
    key: "output_types"
    value {
      list {
        type: DT_INT64
      }
    }
  }
  attr {
    key: "replicate_on_split"
    value {
      b: true
    }
  }
  experimental_type {
    type_id: TFT_PRODUCT
    args {
      type_id: TFT_DATASET
      args {
        type_id: TFT_PRODUCT
        args {
          type_id: TFT_TENSOR
          args {
            type_id: TFT_INT64
          }
        }
      }
    }
  }
}
node {
  name: "Const/_4"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT64
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT64
        tensor_shape {
        }
        int64_val: -1
      }
    }
  }
}
node {
  name: "RepeatDataset/_5"
  op: "RepeatDataset"
  input: "RangeDataset/_3"
  input: "Const/_4"
  attr {
    key: "metadata"
    value {
      s: "\n\017RepeatDataset:5"
    }
  }
  attr {
    key: "output_shapes"
    value {
      list {
        shape {
        }
      }
    }
  }
  attr {
    key: "output_types"
    value {
      list {
        type: DT_INT64
      }
    }
  }
  experimental_type {
    type_id: TFT_PRODUCT
    args {
      type_id: TFT_DATASET
      args {
        type_id: TFT_PRODUCT
        args {
          type_id: TFT_TENSOR
          args {
            type_id: TFT_INT64
          }
        }
      }
    }
  }
}
node {
  name: "Const/_6"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_STRING
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_STRING
        tensor_shape {
          dim {
            size: 5
          }
        }
        tensor_content: "\001\001\001\001\001aaaaa"
      }
    }
  }
}
node {
  name: "TensorSliceDataset/_7"
  op: "TensorSliceDataset"
  input: "Const/_6"
  attr {
    key: "Toutput_types"
    value {
      list {
        type: DT_STRING
      }
    }
  }
  attr {
    key: "is_files"
    value {
      b: false
    }
  }
  attr {
    key: "metadata"
    value {
      s: "\n\024TensorSliceDataset:0"
    }
  }
  attr {
    key: "output_shapes"
    value {
      list {
        shape {
        }
      }
    }
  }
  attr {
    key: "replicate_on_split"
    value {
      b: false
    }
  }
  experimental_type {
    type_id: TFT_PRODUCT
    args {
      type_id: TFT_DATASET
      args {
        type_id: TFT_PRODUCT
        args {
          type_id: TFT_TENSOR
          args {
            type_id: TFT_STRING
          }
        }
      }
    }
  }
}
node {
  name: "Const/_8"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_STRING
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_STRING
        tensor_shape {
          dim {
            size: 5
          }
        }
        tensor_content: "\001\001\001\001\001bbbbb"
      }
    }
  }
}
node {
  name: "TensorSliceDataset/_9"
  op: "TensorSliceDataset"
  input: "Const/_8"
  attr {
    key: "Toutput_types"
    value {
      list {
        type: DT_STRING
      }
    }
  }
  attr {
    key: "is_files"
    value {
      b: false
    }
  }
  attr {
    key: "metadata"
    value {
      s: "\n\024TensorSliceDataset:1"
    }
  }
  attr {
    key: "output_shapes"
    value {
      list {
        shape {
        }
      }
    }
  }
  attr {
    key: "replicate_on_split"
    value {
      b: false
    }
  }
  experimental_type {
    type_id: TFT_PRODUCT
    args {
      type_id: TFT_DATASET
      args {
        type_id: TFT_PRODUCT
        args {
          type_id: TFT_TENSOR
          args {
            type_id: TFT_STRING
          }
        }
      }
    }
  }
}
node {
  name: "Const/_10"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_STRING
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_STRING
        tensor_shape {
          dim {
            size: 5
          }
        }
        tensor_content: "\001\001\001\001\001ccccc"
      }
    }
  }
}
node {
  name: "TensorSliceDataset/_11"
  op: "TensorSliceDataset"
  input: "Const/_10"
  attr {
    key: "Toutput_types"
    value {
      list {
        type: DT_STRING
      }
    }
  }
  attr {
    key: "is_files"
    value {
      b: false
    }
  }
  attr {
    key: "metadata"
    value {
      s: "\n\024TensorSliceDataset:2"
    }
  }
  attr {
    key: "output_shapes"
    value {
      list {
        shape {
        }
      }
    }
  }
  attr {
    key: "replicate_on_split"
    value {
      b: false
    }
  }
  experimental_type {
    type_id: TFT_PRODUCT
    args {
      type_id: TFT_DATASET
      args {
        type_id: TFT_PRODUCT
        args {
          type_id: TFT_TENSOR
          args {
            type_id: TFT_STRING
          }
        }
      }
    }
  }
}
node {
  name: "DirectedInterleaveDataset/_12"
  op: "DirectedInterleaveDataset"
  input: "RepeatDataset/_5"
  input: "TensorSliceDataset/_7"
  input: "TensorSliceDataset/_9"
  input: "TensorSliceDataset/_11"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "output_shapes"
    value {
      list {
        shape {
          unknown_rank: true
        }
      }
    }
  }
  attr {
    key: "output_types"
    value {
      list {
        type: DT_STRING
      }
    }
  }
  attr {
    key: "stop_on_empty_dataset"
    value {
      b: true
    }
  }
  experimental_type {
    type_id: TFT_PRODUCT
    args {
      type_id: TFT_DATASET
      args {
        type_id: TFT_PRODUCT
        args {
          type_id: TFT_TENSOR
          args {
            type_id: TFT_STRING
          }
        }
      }
    }
  }
}
node {
  name: "dataset"
  op: "_Retval"
  input: "DirectedInterleaveDataset/_12"
  attr {
    key: "T"
    value {
      type: DT_VARIANT
    }
  }
  attr {
    key: "index"
    value {
      i: 0
    }
  }
}
library {
}
versions {
  producer: 1393
}
